package com.itheima.controller;

import com.itheima.pojo.Result;
import com.itheima.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
public class ResponseController {
    /*
        @ResponseBody注解 : 将当前方法返回值直接返回， 如果是 实体/集合 转换为JSON返回
        注意：@RestController注解已经包含了 @ResponseBody 的作用，无需额外添加。
        需求1 : 定义getUser方法,方法中返回User对象
     */
    @RequestMapping("resp1")
    public User gerUser() {
        return new User("莉莉丝", 18, null);
    }

    /*
        @ResponseBody注解 : 将当前方法返回值直接返回， 如果是 实体/集合 转换为JSON返回
        需求2 : 定义getList方法,方法中返回List对象
     */
    @RequestMapping("resp2")
    public List<User> getList() {
        User user1 = new User("莉莉丝", 18, null);
        User user2 = new User("童谣", 18, null);
        List<User> list = List.of(user1, user2);
        return list;
    }

    /*
        统一响应结果
        需求3 : 对以上代码进行改造,使用统一响应结果
     */
    @RequestMapping("resp")
    public Result getResult() {
        User user1 = new User("莉莉丝", 18, null);
        User user2 = new User("童谣", 18, null);
        List<User> list = List.of(user1, user2);
        return Result.success(list);
    }


}
